/*************************************************************************
	> 文件名: timer4.cc
	> 作者: 马海城
	> 邮箱: hchma@outlook.com
	> 创建日期: 2016年05月14日 星期六 09时31分28秒
 ************************************************************************/

#include<iostream>
#include<muduo/net/EventLoop.h>
#include<boost/noncopyable.hpp>
#include<boost/bind.hpp>

using namespace std;
using namespace boost;
using namespace muduo::net;

class Printer : noncopyable
{
public:
    Printer(EventLoop *loop) : loop_(loop), count_(0)
    {
        loop_->runAfter(1, bind(&Printer::print, this));
    }
    ~Printer() {  }
private:
    void print()
    {
        if (count_ < 10)
        {
            cout << count_++ << endl;
            loop_->runAfter(1, bind(&Printer::print, this));
        }
        else
        {
            loop_->quit();
        }
    }

    EventLoop *loop_;
    int count_;
};

int main()
{
    EventLoop loop;
    Printer printer(&loop);
    loop.loop();
}
